Skip to main content
GET
/
menus
/
categories
/
{id}
Get category
curl --request GET \
  --url https://api.example.com/menus/categories/{id}
{
  "data": {
    "id": "burgers",
    "uid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "Burgers",
    "description": "Hand-crafted burgers",
    "channels": {
      "APP": {
        "id": "app",
        "uid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
        "name": "Mobile app",
        "stores": {
          "downtown": {
            "id": "downtown",
            "uid": "c3d4e5f6-a7b8-9012-cdef-123456789012",
            "name": "Downtown",
            "fulfillment": {
              "DELIVERY": {
                "uid": "d4e5f6a7-b8c9-0123-def4-567890abcdef",
                "id": "delivery",
                "type": "DELIVERY",
                "name": "Delivery",
                "availability": {
                  "status": "ACTIVE",
                  "schedules": [{
                    "monday": { "start_time": "11:00:00", "end_time": "22:00:00" }
                  }],
                  "inactive_until": null
                }
              }
            }
          }
        }
      }
    },
    "cms_template_id": null,
    "cms": null,
    "status": "ACTIVE"
  }
}
Returns a single category from the active menu, including how it appears across channels, stores, and fulfillment types. Use this endpoint to render category headers, descriptions, and availability badges in your ordering UI.
Requires a Fire spark access token obtained through token exchange.

Path parameters

ParameterDescription
idExternal category identifier. Alphanumeric characters, _, and - only. 1–64 characters.

Query parameters

ParameterRequiredDescription
store_idYesExternal store identifier.
channel_idYesExternal channel identifier.
fulfillment_idYesExternal fulfillment identifier.

Request

curl "https://firespark.vercel.app/api/storefront/v1/menus/categories/burgers?store_id=downtown&channel_id=app&fulfillment_id=delivery" \
  -H "Authorization: Bearer ACCESS_TOKEN"

Response

{
  "data": {
    "id": "burgers",
    "uid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "name": "Burgers",
    "description": "Hand-crafted burgers",
    "channels": {
      "APP": {
        "id": "app",
        "uid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
        "name": "Mobile app",
        "stores": {
          "downtown": {
            "id": "downtown",
            "uid": "c3d4e5f6-a7b8-9012-cdef-123456789012",
            "name": "Downtown",
            "fulfillment": {
              "DELIVERY": {
                "uid": "d4e5f6a7-b8c9-0123-def4-567890abcdef",
                "id": "delivery",
                "type": "DELIVERY",
                "name": "Delivery",
                "availability": {
                  "status": "ACTIVE",
                  "schedules": [{
                    "monday": { "start_time": "11:00:00", "end_time": "22:00:00" }
                  }],
                  "inactive_until": null
                }
              }
            }
          }
        }
      }
    },
    "cms_template_id": null,
    "cms": null,
    "status": "ACTIVE"
  }
}

Category object

FieldTypeDescription
idstringExternal category identifier.
uidstring (UUID)Fire spark internal identifier.
namestringDisplay name. 1–100 characters.
descriptionstringOptional category description. Up to 500 characters. null when omitted.
channelsobjectPer-channel visibility and availability keyed by channel code.
cms_template_idstring (UUID)CMS template linked to this category. null when no template is assigned.
cmsobjectRead-only. Resolved CMS template when assigned.
statusstringACTIVE or INACTIVE.
Map of channel codes. Each entry contains id, uid, name, and a stores map.Each store contains id, uid, name, and a fulfillment map keyed by fulfillment type code.Each fulfillment entry requires uid, id, type, name, and availability.
FieldTypeDescription
statusstringACTIVE, INACTIVE, or HIDDEN.
schedulesarray | nullWeekly hour maps keyed by day name (monday through sunday). null when there is no schedule restriction.
inactive_untilstringOptional ISO 8601 datetime when a temporary inactive state ends.

Error responses

StatusDescription
401Missing or invalid access token.
403Token does not have access to this category.
404Category not found in the active menu for this context.